package com.example.kindergarten.generator.kindergarten;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;

/**
 * 老师表

 * @TableName kg_teacher
 */
@TableName(value ="kg_teacher")
public class KgTeacher implements Serializable {
    /**
     *  老师id
     */
    @TableId(value = "id")
    private Integer id;

    /**
     * 角色id
     */
    @TableField(value = "role_id")
    private Integer role_id;

    /**
     * 用户id
     */
    @TableField(value = "user_id")
    private Integer user_id;

    /**
     * 学校id
     */
    @TableField(value = "schoo_id")
    private Integer schoo_id;

    /**
     * 学科
     */
    @TableField(value = "subject_ids")
    private String subject_ids;

    /**
     * 班级
     */
    @TableField(value = "class_ids")
    private String class_ids;

    /**
     * 工位号
     */
    @TableField(value = "station_number")
    private String station_number;

    /**
     * 0.离职 1. 在职  
     */
    @TableField(value = "job_status")
    private Integer job_status;

    /**
     * 入职时间
     */
    @TableField(value = "entry_time")
    private Date entry_time;

    /**
     * 离职时间
     */
    @TableField(value = "exit_time")
    private Date exit_time;

    /**
     * 联系邮箱
     */
    @TableField(value = "email")
    private String email;

    /**
     * 联系电话
     */
    @TableField(value = "phone")
    private String phone;

    /**
     * 户口类型 0 未知  1 城市  2 农业
     */
    @TableField(value = "residence_type")
    private Integer residence_type;

    /**
     * 婚育状态 0 未婚 1 已婚
     */
    @TableField(value = "marital_status")
    private Integer marital_status;

    /**
     * 学历  0 未知  1 高中以下 2 专科 3本科 4 研究 6硕士 7博士 
     */
    @TableField(value = "education")
    private Integer education;

    /**
     * 毕业学校
     */
    @TableField(value = "graduation_school")
    private String graduation_school;

    /**
     * 专业
     */
    @TableField(value = "major")
    private String major;

    /**
     * 职称 0 无 1-2 幼师1-2级 3 幼师高级  4 其他职称
     */
    @TableField(value = "rank")
    private Integer rank;

    /**
     * 职称名称
     */
    @TableField(value = "rank_name")
    private String rank_name;

    /**
     * 劳动合同 1 劳动合同 2 非全日制劳动合同 3 劳务合同 4 其他
     */
    @TableField(value = "contract_type")
    private Integer contract_type;

    /**
     * 合同开始时间
     */
    @TableField(value = "contract_start")
    private Date contract_start;

    /**
     * 合同结束时间
     */
    @TableField(value = "contract_end")
    private Date contract_end;

    /**
     * 家庭住址
     */
    @TableField(value = "address")
    private String address;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 其他
     */
    @TableField(value = "other")
    private String other;

    /**
     * 工作照
     */
    @TableField(value = "teacher_img")
    private String teacher_img;

    /**
     * 创建时间
     */
    @TableField(value = "created_at")
    private Date created_at;

    /**
     * 更新时间
     */
    @TableField(value = "updated_at")
    private Date updated_at;

    /**
     * 删除时间
     */
    @TableField(value = "deleted_at")
    private Date deleted_at;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     *  老师id
     */
    public Integer getId() {
        return id;
    }

    /**
     *  老师id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 角色id
     */
    public Integer getRole_id() {
        return role_id;
    }

    /**
     * 角色id
     */
    public void setRole_id(Integer role_id) {
        this.role_id = role_id;
    }

    /**
     * 用户id
     */
    public Integer getUser_id() {
        return user_id;
    }

    /**
     * 用户id
     */
    public void setUser_id(Integer user_id) {
        this.user_id = user_id;
    }

    /**
     * 学校id
     */
    public Integer getSchoo_id() {
        return schoo_id;
    }

    /**
     * 学校id
     */
    public void setSchoo_id(Integer schoo_id) {
        this.schoo_id = schoo_id;
    }

    /**
     * 学科
     */
    public String getSubject_ids() {
        return subject_ids;
    }

    /**
     * 学科
     */
    public void setSubject_ids(String subject_ids) {
        this.subject_ids = subject_ids;
    }

    /**
     * 班级
     */
    public String getClass_ids() {
        return class_ids;
    }

    /**
     * 班级
     */
    public void setClass_ids(String class_ids) {
        this.class_ids = class_ids;
    }

    /**
     * 工位号
     */
    public String getStation_number() {
        return station_number;
    }

    /**
     * 工位号
     */
    public void setStation_number(String station_number) {
        this.station_number = station_number;
    }

    /**
     * 0.离职 1. 在职  
     */
    public Integer getJob_status() {
        return job_status;
    }

    /**
     * 0.离职 1. 在职  
     */
    public void setJob_status(Integer job_status) {
        this.job_status = job_status;
    }

    /**
     * 入职时间
     */
    public Date getEntry_time() {
        return entry_time;
    }

    /**
     * 入职时间
     */
    public void setEntry_time(Date entry_time) {
        this.entry_time = entry_time;
    }

    /**
     * 离职时间
     */
    public Date getExit_time() {
        return exit_time;
    }

    /**
     * 离职时间
     */
    public void setExit_time(Date exit_time) {
        this.exit_time = exit_time;
    }

    /**
     * 联系邮箱
     */
    public String getEmail() {
        return email;
    }

    /**
     * 联系邮箱
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * 联系电话
     */
    public String getPhone() {
        return phone;
    }

    /**
     * 联系电话
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }

    /**
     * 户口类型 0 未知  1 城市  2 农业
     */
    public Integer getResidence_type() {
        return residence_type;
    }

    /**
     * 户口类型 0 未知  1 城市  2 农业
     */
    public void setResidence_type(Integer residence_type) {
        this.residence_type = residence_type;
    }

    /**
     * 婚育状态 0 未婚 1 已婚
     */
    public Integer getMarital_status() {
        return marital_status;
    }

    /**
     * 婚育状态 0 未婚 1 已婚
     */
    public void setMarital_status(Integer marital_status) {
        this.marital_status = marital_status;
    }

    /**
     * 学历  0 未知  1 高中以下 2 专科 3本科 4 研究 6硕士 7博士 
     */
    public Integer getEducation() {
        return education;
    }

    /**
     * 学历  0 未知  1 高中以下 2 专科 3本科 4 研究 6硕士 7博士 
     */
    public void setEducation(Integer education) {
        this.education = education;
    }

    /**
     * 毕业学校
     */
    public String getGraduation_school() {
        return graduation_school;
    }

    /**
     * 毕业学校
     */
    public void setGraduation_school(String graduation_school) {
        this.graduation_school = graduation_school;
    }

    /**
     * 专业
     */
    public String getMajor() {
        return major;
    }

    /**
     * 专业
     */
    public void setMajor(String major) {
        this.major = major;
    }

    /**
     * 职称 0 无 1-2 幼师1-2级 3 幼师高级  4 其他职称
     */
    public Integer getRank() {
        return rank;
    }

    /**
     * 职称 0 无 1-2 幼师1-2级 3 幼师高级  4 其他职称
     */
    public void setRank(Integer rank) {
        this.rank = rank;
    }

    /**
     * 职称名称
     */
    public String getRank_name() {
        return rank_name;
    }

    /**
     * 职称名称
     */
    public void setRank_name(String rank_name) {
        this.rank_name = rank_name;
    }

    /**
     * 劳动合同 1 劳动合同 2 非全日制劳动合同 3 劳务合同 4 其他
     */
    public Integer getContract_type() {
        return contract_type;
    }

    /**
     * 劳动合同 1 劳动合同 2 非全日制劳动合同 3 劳务合同 4 其他
     */
    public void setContract_type(Integer contract_type) {
        this.contract_type = contract_type;
    }

    /**
     * 合同开始时间
     */
    public Date getContract_start() {
        return contract_start;
    }

    /**
     * 合同开始时间
     */
    public void setContract_start(Date contract_start) {
        this.contract_start = contract_start;
    }

    /**
     * 合同结束时间
     */
    public Date getContract_end() {
        return contract_end;
    }

    /**
     * 合同结束时间
     */
    public void setContract_end(Date contract_end) {
        this.contract_end = contract_end;
    }

    /**
     * 家庭住址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 家庭住址
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 其他
     */
    public String getOther() {
        return other;
    }

    /**
     * 其他
     */
    public void setOther(String other) {
        this.other = other;
    }

    /**
     * 工作照
     */
    public String getTeacher_img() {
        return teacher_img;
    }

    /**
     * 工作照
     */
    public void setTeacher_img(String teacher_img) {
        this.teacher_img = teacher_img;
    }

    /**
     * 创建时间
     */
    public Date getCreated_at() {
        return created_at;
    }

    /**
     * 创建时间
     */
    public void setCreated_at(Date created_at) {
        this.created_at = created_at;
    }

    /**
     * 更新时间
     */
    public Date getUpdated_at() {
        return updated_at;
    }

    /**
     * 更新时间
     */
    public void setUpdated_at(Date updated_at) {
        this.updated_at = updated_at;
    }

    /**
     * 删除时间
     */
    public Date getDeleted_at() {
        return deleted_at;
    }

    /**
     * 删除时间
     */
    public void setDeleted_at(Date deleted_at) {
        this.deleted_at = deleted_at;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        KgTeacher other = (KgTeacher) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getRole_id() == null ? other.getRole_id() == null : this.getRole_id().equals(other.getRole_id()))
            && (this.getUser_id() == null ? other.getUser_id() == null : this.getUser_id().equals(other.getUser_id()))
            && (this.getSchoo_id() == null ? other.getSchoo_id() == null : this.getSchoo_id().equals(other.getSchoo_id()))
            && (this.getSubject_ids() == null ? other.getSubject_ids() == null : this.getSubject_ids().equals(other.getSubject_ids()))
            && (this.getClass_ids() == null ? other.getClass_ids() == null : this.getClass_ids().equals(other.getClass_ids()))
            && (this.getStation_number() == null ? other.getStation_number() == null : this.getStation_number().equals(other.getStation_number()))
            && (this.getJob_status() == null ? other.getJob_status() == null : this.getJob_status().equals(other.getJob_status()))
            && (this.getEntry_time() == null ? other.getEntry_time() == null : this.getEntry_time().equals(other.getEntry_time()))
            && (this.getExit_time() == null ? other.getExit_time() == null : this.getExit_time().equals(other.getExit_time()))
            && (this.getEmail() == null ? other.getEmail() == null : this.getEmail().equals(other.getEmail()))
            && (this.getPhone() == null ? other.getPhone() == null : this.getPhone().equals(other.getPhone()))
            && (this.getResidence_type() == null ? other.getResidence_type() == null : this.getResidence_type().equals(other.getResidence_type()))
            && (this.getMarital_status() == null ? other.getMarital_status() == null : this.getMarital_status().equals(other.getMarital_status()))
            && (this.getEducation() == null ? other.getEducation() == null : this.getEducation().equals(other.getEducation()))
            && (this.getGraduation_school() == null ? other.getGraduation_school() == null : this.getGraduation_school().equals(other.getGraduation_school()))
            && (this.getMajor() == null ? other.getMajor() == null : this.getMajor().equals(other.getMajor()))
            && (this.getRank() == null ? other.getRank() == null : this.getRank().equals(other.getRank()))
            && (this.getRank_name() == null ? other.getRank_name() == null : this.getRank_name().equals(other.getRank_name()))
            && (this.getContract_type() == null ? other.getContract_type() == null : this.getContract_type().equals(other.getContract_type()))
            && (this.getContract_start() == null ? other.getContract_start() == null : this.getContract_start().equals(other.getContract_start()))
            && (this.getContract_end() == null ? other.getContract_end() == null : this.getContract_end().equals(other.getContract_end()))
            && (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getOther() == null ? other.getOther() == null : this.getOther().equals(other.getOther()))
            && (this.getTeacher_img() == null ? other.getTeacher_img() == null : this.getTeacher_img().equals(other.getTeacher_img()))
            && (this.getCreated_at() == null ? other.getCreated_at() == null : this.getCreated_at().equals(other.getCreated_at()))
            && (this.getUpdated_at() == null ? other.getUpdated_at() == null : this.getUpdated_at().equals(other.getUpdated_at()))
            && (this.getDeleted_at() == null ? other.getDeleted_at() == null : this.getDeleted_at().equals(other.getDeleted_at()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getRole_id() == null) ? 0 : getRole_id().hashCode());
        result = prime * result + ((getUser_id() == null) ? 0 : getUser_id().hashCode());
        result = prime * result + ((getSchoo_id() == null) ? 0 : getSchoo_id().hashCode());
        result = prime * result + ((getSubject_ids() == null) ? 0 : getSubject_ids().hashCode());
        result = prime * result + ((getClass_ids() == null) ? 0 : getClass_ids().hashCode());
        result = prime * result + ((getStation_number() == null) ? 0 : getStation_number().hashCode());
        result = prime * result + ((getJob_status() == null) ? 0 : getJob_status().hashCode());
        result = prime * result + ((getEntry_time() == null) ? 0 : getEntry_time().hashCode());
        result = prime * result + ((getExit_time() == null) ? 0 : getExit_time().hashCode());
        result = prime * result + ((getEmail() == null) ? 0 : getEmail().hashCode());
        result = prime * result + ((getPhone() == null) ? 0 : getPhone().hashCode());
        result = prime * result + ((getResidence_type() == null) ? 0 : getResidence_type().hashCode());
        result = prime * result + ((getMarital_status() == null) ? 0 : getMarital_status().hashCode());
        result = prime * result + ((getEducation() == null) ? 0 : getEducation().hashCode());
        result = prime * result + ((getGraduation_school() == null) ? 0 : getGraduation_school().hashCode());
        result = prime * result + ((getMajor() == null) ? 0 : getMajor().hashCode());
        result = prime * result + ((getRank() == null) ? 0 : getRank().hashCode());
        result = prime * result + ((getRank_name() == null) ? 0 : getRank_name().hashCode());
        result = prime * result + ((getContract_type() == null) ? 0 : getContract_type().hashCode());
        result = prime * result + ((getContract_start() == null) ? 0 : getContract_start().hashCode());
        result = prime * result + ((getContract_end() == null) ? 0 : getContract_end().hashCode());
        result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getOther() == null) ? 0 : getOther().hashCode());
        result = prime * result + ((getTeacher_img() == null) ? 0 : getTeacher_img().hashCode());
        result = prime * result + ((getCreated_at() == null) ? 0 : getCreated_at().hashCode());
        result = prime * result + ((getUpdated_at() == null) ? 0 : getUpdated_at().hashCode());
        result = prime * result + ((getDeleted_at() == null) ? 0 : getDeleted_at().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", role_id=").append(role_id);
        sb.append(", user_id=").append(user_id);
        sb.append(", schoo_id=").append(schoo_id);
        sb.append(", subject_ids=").append(subject_ids);
        sb.append(", class_ids=").append(class_ids);
        sb.append(", station_number=").append(station_number);
        sb.append(", job_status=").append(job_status);
        sb.append(", entry_time=").append(entry_time);
        sb.append(", exit_time=").append(exit_time);
        sb.append(", email=").append(email);
        sb.append(", phone=").append(phone);
        sb.append(", residence_type=").append(residence_type);
        sb.append(", marital_status=").append(marital_status);
        sb.append(", education=").append(education);
        sb.append(", graduation_school=").append(graduation_school);
        sb.append(", major=").append(major);
        sb.append(", rank=").append(rank);
        sb.append(", rank_name=").append(rank_name);
        sb.append(", contract_type=").append(contract_type);
        sb.append(", contract_start=").append(contract_start);
        sb.append(", contract_end=").append(contract_end);
        sb.append(", address=").append(address);
        sb.append(", remark=").append(remark);
        sb.append(", other=").append(other);
        sb.append(", teacher_img=").append(teacher_img);
        sb.append(", created_at=").append(created_at);
        sb.append(", updated_at=").append(updated_at);
        sb.append(", deleted_at=").append(deleted_at);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}